[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Function 65h (101) Get Extended Country Information . DOS 3.3
Returns extended country information.
On entry: AH 65h
AL Function requested:
1 . Get country information
2 . Get address of character table
4 . Get address of filename
character table
6 . Get address of collating sequence
7 . (DOS 4+ only) Get address of
DCBS vector table
BX Set desired code page. 0FFFFH = current
as set by function 6602h
CX Buffer size for maximum data return
must be . 5
DX Country ID. 0FFFFH = current as set by
function call 38h
DS:DI Information return Buffer address (see
below)
Buffer (Format is AL dependent):
AL = 1 (Extended Country Information)
SUBFUNC DB 1 ;Subfunction number
BUFFERSIZE DW ? ;Size of data block to return
COUNTRYID DB ? ;ID of the country
CODEPAGE DW ? ;Code page
DATE DW ? ;Date format
CURRENCY DB 5 DUP(?) ;Currency symbols tring (ASCIIZ)
THOUSANDS DW ? ;Thousands separator string (ASCIIZ)
DECIMALS DW ? ;Decimal separator string (ASCIIZ)
DATES DW ? ;Date separator string (ASCIIZ)
TIMES DW ? ;Time separator string
CURSYM DB ? ;Currency symbol
CURPLACES DB ? ;Currency decimal places
TIMEFORM DB ? ;Time format
MAPADDR DD ? ;Extended ASCII map call address
LISTS DW ? ;List separator string (ASCIIZ)
RESRVD DB 10 DUP(?) ;Reserved
AL = 2 (Upper Case Table)
DB 2 ;Subfunction number
DD ? ;Address of upper case table
AL = 4 (File Upper Case Table)
DB 4 ;Subfunction number
DD ? ;Address of file upper case table
AL = 6 (Collating Table)
DB 6 ;Subfunction number
DD ? ;Address of collating table
AL = 7 (DBCS Vector Table) (DOS 4+)
DB 7 ;Subfunction number
DD ? ;Address of DBCS vector table
--------------------------------------------------------------------------
You can get extended country information with this function. It both
supercedes and returns more information than function 38h.
To use it, DX must contain the ID of the country. Place a subfunction
number in AL from the following list:
Subfunction Action
---------- ----------------------------
1 Get country information
2 Get address of character table
4 Get address of filename character table
6 Get address of collating sequence
7 (DOS 4+ only) Get address of DCBS vector table
This function returns information in a return buffer, which is is set up
differently for different subfunctions. See the information above for the
buffer format by subfunction.
Notes: The NLSFUNC DOS extension must be installed to get
information about countries other than the currently
installed country.
Subfunction 01h returns the same information as does function 38h,
but it also includes the current code page and the country ID
information. See the structure of the return buffer above.
Subfunctions 02h - 06 return five bytes. The first byte is the
subfunction number (02h - 06h). The next four bytes make up the address
of different types of tables.
Subfunction 02h returns the address of a translation table used to
convert extended ASCII characters (codes 128 - 255) to characters with
codes 0 - 127.
Subfunction 04h returns the same type of table as Subfunction 02h,
but this table is used for filenames.
Subfunction 06h returns a table that specifies the collating sequence
for the current code page.
Subfunction 07h is only available in DOS 4+. It returns the address
of the current DBCS table. DBCS tables can vary in size. They consist
of a one-word length field, followed by one or more pairs of bytes:
TABLE_SIZE DW 2 * n
1 DB START,END ;DBCS vector 1
2 DB START,END ;DBCS vector 2
:
:
n DB START,END ;DCBS vector n
DB 0, 0 ;Marks end
The DBCS byte-pair table is used to translate characters in non-ASCII
character sets (which must use two byte codes).
See Also:
38h
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson